<HTML><HEAD><TITLE>EplexInstance:eplex_cleanup</TITLE>
</HEAD><BODY>[ <A HREF="index.html">library(eplex)</A> | <A HREF="../../index.html">Reference Manual</A> | <A HREF="../../fullindex.html">Alphabetic Index</A> ]
<H1>EplexInstance:eplex_cleanup</H1>
Destroy the external solver associated with EplexInstance.
<H2>Description</H2>
<P>
    Destroy the specified solver, free all memory, etc.  Note that ECLiPSe
    will normally do the cleanup automatically, for instance when execution
    fails across the solver setup. The solver is disassociated with 
    EplexInstance, and any outstanding constraints not yet collected by the
    solver are removed, with a warning to the user. In effect, EplexInstance
    is reinitialised and can now be associated with a new solver without
    backtracking. Note that this last behaviour is unlike lp_cleanup/1, which
    also destroy the solver and disassociate it from the eplex instance (if 
    any), but does not remove any outstanding constraints.
</P><P>
    This predicate should be used with caution as the information from the
    solver state will no longer be available. In particular, if the program
    backtracks to a point between the problem set up and clean up,
    accessing the solver state directly or indirectly (e.g. unifying a
    problem variable) will result in a stale handle error. 

</P>

</BODY></HTML>
